Method and system for quick square roof reporting

ABSTRACT

Methods and systems for roof estimations are disclosed, including a method comprising receiving, by at least one computer processor, a roof report order including a geographic location of a roof; providing imagery of the roof based on the geographic location of the roof; receiving, from a user, identification of features of the roof; determining and providing an estimated roofing area based at least on a predominant pitch and a footprint of the roof by analyzing one or more image showing the roof, the footprint of the roof determined at least in part using at least one image of the roof and the identified features of the roof; and generating a roof report for determination of an amount of materials needed for a construction project, wherein the roof report includes at least one image showing the roof and the estimated roofing area of the roof.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present patent application is a continuation of the patentapplication, filed Mar. 19, 2012, identified by Ser. No. 13/424,054,publication number US 2013/0246204 A1, issuing as U.S. Pat. No.9,183,538, entitled “Method and System for Quick Square Roof Reporting”,the entire content of which is hereby incorporated by reference herein.

BACKGROUND

Residential and/or commercial property owners approaching a majorroofing project may be unsure of the amount of material needed and/orthe next step in completing the project. Generally, such owners contactone or more contractors for a site visit. Each contractor mustphysically be present at the site of the structure in order to make adetermination on material needs and/or time. The time and energy forproviding such an estimate becomes laborious and may be affected bycontractor timing, weather, contractor education, and the like.Estimates may be varied even between contractors in determination ofestimated square footage causing variance in supply ordering as well.Additionally, measuring an actual roof may be costly and potentiallyhazardous—especially with steeply pitched roofs. Completion of aproposed roofing project may depend on ease in obtaining a simplifiedroofing estimate and/or obtaining reputable contractors for the roofingproject.

Images are currently being used to measure objects and structures withinthe images, as well as to be able to determine geographic locations ofpoints within the image when preparing estimates for a variety ofconstruction projects, such as roadwork, concrete work, and roofing.Estimating construction projects using software may increase speed atwhich an estimate can be prepared, and may reduce labor and fuel costsassociated with on-site visits.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

Like reference numerals in the figures represent and refer to the sameor similar element or function. Implementations of the disclosure may bebetter understood when consideration is given to the following detaileddescription thereof. Such description makes reference to the annexedpictorial illustrations, schematics, graphs, drawings, and appendices.In the drawings:

FIG. 1 is a schematic diagram of an embodiment of a roof estimatorreporting system according to the instant disclosure.

FIG. 2 is a block diagram of an embodiment of one or more memoryaccording to the instant disclosure.

FIG. 3 is an exemplary embodiment of a program logic according to theinstant disclosure.

FIG. 4 is another exemplary embodiment of a program logic according tothe instant disclosure.

FIG. 5 is yet another exemplary embodiment of a program logic accordingto the instant disclosure.

FIG. 6 is a further exemplary embodiment of a program logic according tothe instant disclosure.

FIG. 7 is an exemplary slope factor chart for determining pitch factorsaccording to the instant disclosure.

FIG. 8A is an exemplary embodiment of a roofing report presentation pageaccording to the instant disclosure.

FIG. 8B another exemplary embodiment of a roofing report presentationpage according to the instant disclosure.

DETAILED DESCRIPTION OF INVENTIVE CONCEPT

Before explaining at least one embodiment of the inventive conceptdisclosed herein in detail, it is to be understood that the inventiveconcept is not limited in its application to the details of constructionand the arrangement of the components or steps or methodologies setforth in the following description or illustrated in the drawings. Theinventive concept disclosed herein is capable of other embodiments or ofbeing practiced or carried out in various ways. Also, it is to beunderstood that the phraseology and terminology employed herein is forthe purpose of description and should not be regarded as limiting in anyway.

In the following detailed description of embodiments of the inventiveconcept, numerous specific details are set forth in order to provide amore thorough understanding of the inventive concept. It will beapparent to one of ordinary skill in the art, however, that theinventive concept within the disclosure may be practiced without thesespecific details. In other instances, well-known features have not beendescribed in detail to avoid unnecessarily complicating the instantdisclosure.

Referring now to the drawings, and in particular to FIG. 1, showntherein and designated by a reference numeral 100 is an exemplarycomputer system 100 constructed in accordance with the presentdisclosure. The system 100 can be a system or systems that are able toembody and/or execute the logic of the processes described herein. Thelogic embodied in the form of software instructions, or firmware may beexecuted on any appropriate hardware which may be a dedicated system orsystems.

As used herein, the terms “network-based”, “cloud-based” and anyvariations thereof, are intended to include the provision ofconfigurable computational resources on demand via interfacing with acomputer and/or computer network, with software and/or data at leastpartially located on the computer and/or computer network, by poolingprocessing power of two or more networked processors.

As used herein, the terms “comprises”, “comprising”, “includes”,“including”, “has”, “having”, or any other variation thereof, areintended to be non-exclusive inclusions. For example, a process, method,article, or apparatus that comprises a set of elements is not limited toonly those elements but may include other elements not expressly listedor even inherent to such process, method, article, or apparatus.

As used in the instant disclosure, the terms “provide”, “providing”, andvariations thereof comprise displaying or providing for display awebpage (e.g., roofing webpage) to one or more user terminalsinterfacing with a computer and/or computer network(s) and/or allowingthe one or more user terminal(s) to participate, such as by interactingwith one or more mechanisms on a webpage (e.g., roofing webpage) bysending and/or receiving signals (e.g., digital, optical, and/or thelike) via a computer network interface (e.g., Ethernet port, TCP/IPport, optical port, cable modem, and combinations thereof). A user maybe provided with a web page in a web browser, or in a softwareapplication, for example.

As used herein, the term “roof request”, “roofing request”, “roofingorder”, and any variations thereof may comprise a feature of thegraphical user interface or a feature of a software application,allowing a user to indicate to a host system that the user wishes toplace an order, such as by interfacing with the host system over acomputer network and exchanging signals (e.g., digital, optical, and/orthe like), with the host system using a network protocol, for example.Such mechanism may be implemented with computer executable code executedby one or more processors, for example, with a button, a hyperlink, anicon, a clickable symbol, and/or combinations thereof, that may beactivated by a user terminal interfacing with the at least one processorover a computer network, for example.

Further, unless expressly stated to the contrary, “or” refers to aninclusive or and not to an exclusive or. For example, a condition A or Bis satisfied by anyone of the following: A is true (or present) and B isfalse (or not present), A is false (or not present) and B is true (orpresent), and both A and B are true (or present).

In addition, the use of the “a” or “an” are employed to describeelements and components of the embodiments herein. This is done merelyfor convenience and to give a general sense of the inventive concept.This description should be read to include one or more, and the singularalso includes the plural unless it is obvious that it is meantotherwise.

Finally, as used herein any reference to “one embodiment” or “anembodiment” means that a particular element, feature, structure, orcharacteristic described in connection with the embodiment is includedin at least one embodiment. The appearance of the phrase “in oneembodiment” in various places in the specification are not necessarilyall referring to the same embodiment.

Referring now to FIG. 1, shown therein is an exemplary embodiment of aroof estimator reporting system 100 according to the instant disclosure.The system 100 comprises two or more host systems 102 and 126interfacing and/or communicating with one or more user terminals 104 viaa network 106.

The one or more user terminals 104 may be implemented as a personalcomputer, a smart phone, network-capable TV set, TV set-top box, atablet, an e-book reader, a laptop computer, a desktop computer, anetwork-capable handheld device, a video game console, a server, adigital video recorder, a DVD-player, a Blu-Ray player and combinationsthereof, for example. In an exemplary embodiment, the user terminal 104may comprise an input device 122, an output device 124, a processor (notshown) capable of interfacing with the network 106, processor executablecode (not shown), and a web browser capable of accessing a websiteand/or communicating information and/or data over a network, such as thenetwork 106. As will be understood by persons of ordinary skill in theart, the one or more user terminals 104 may comprise one or morenon-transient memories comprising processor executable code and/orsoftware applications, for example.

The input device 122 may be capable of receiving information input froma user and/or other processor(s), and transmitting such information tothe user terminal 104 and/or to the host system 102. The input device122 may be implemented as a keyboard, a touchscreen, a mouse, atrackball, a microphone, a fingerprint reader, an infrared port, aslide-out keyboard, a flip-out keyboard, a cell phone, a PDA, a videogame controller, a remote control, a fax machine, a network interface,and combinations thereof, for example.

The output device 124 may output information in a form perceivable by auser and/or other processor(s). For example, the output device 124 maybe a server, a computer monitor, a screen, a touchscreen, a speaker, awebsite, a TV set, a smart phone, a PDA, a cell phone, a fax machine, aprinter, a laptop computer, and combinations thereof. It is to beunderstood that in some exemplary embodiments, the input device 122 andthe output device 124 may be implemented as a single device, such as,for example, a touchscreen or a tablet. It is to be further understoodthat as used herein the term user is not limited to a human being, andmay comprise a computer, a server, a website, a processor, a networkinterface, a human, a user terminal, a virtual computer, andcombinations thereof, for example.

The system 100 may include one or more host systems. For example, FIG. 1illustrates system 100 having two host systems 102 and 126. The hostsystems 102 and 126 may be partially or completely network-based orcloud based, and not necessarily located in a single physical location.Each of the host systems 102 and 126 may further be capable ofinterfacing and/or communicating with the one or more user terminals 104via the network 106, such as by exchanging signals (e.g., digital,optical, and/or the like) via one or more ports (e.g., physical orvirtual) using a network protocol, for example. Additionally, each hostsystem 102 and 126 may be capable of interfacing and/or communicatingwith other host systems directly and/or via the network 106, such as byexchanging signals (e.g., digital, optical, and/or the like) via one ormore ports.

In some embodiments, host systems 102 and 126 may be independentlycontrolled by separate entities. Host system 102 may be controlled by afirst company and host system 126 may be controlled by a second companydistinct from the first company. For example, host system 102 may becontrolled by a roofing material supplier and host system 126 may becontrolled by a roofing report company. The roofing material suppliermay be a separate entity from the roofing report company.

The host system 102 may be referred to hereinafter as the “first hostsystem” and the host system 126 may be referred to hereinafter as the“second host system”. The first host system 102 may comprise one or moreprocessors 108 working together, or independently to, execute processorexecutable code, one or more memories 110 capable of storing processorexecutable code, one or more input devices 112, and one or more outputdevices 114. Each element of the first host system 102 may be partiallyor completely network-based or cloud-based, and not necessarily locatedin a single physical location.

The one or more processors 108 may be implemented as a single orplurality of processors 108 working together, or independently toexecute the logic as described herein. Exemplary embodiments of the oneor more processors 108 include a digital signal processor (DSP), acentral processing unit (CPU), a field programmable gate array (FPGA), amicroprocessor, a multi-core processor, and/or combinations thereof. Theone or more processors 108 may be capable of communicating with the oneor more memories 110 via a path (e.g., data bus). The one or moreprocessors 108 may be capable of communicating with the input devices112 and the output devices 114.

The one or more processors 108 may be further capable of interfacingand/or communicating with the one or more user terminals 104 via thenetwork 106. For example, the one or more processors 108 may be capableof communicating via the network 106 by exchanging signals (e.g.,digital, optical, and/or the like) via one or more physical or virtualports using a network protocol. It is to be understood that in certainembodiments using more than one processor 108, the one or moreprocessors 108 may be located remotely from one another, located in thesame location, or comprising a unitary multi-core processor (not shown).The one or more processors 108 may be capable of reading and/orexecuting processor executable code and/or of creating, manipulating,altering, and/or storing computer data structures into one or morememories 110.

The one or more memories 110 may be capable of storing processorexecutable code. Additionally, the one or more memories 110 may beimplemented as a conventional non-transient memory 110, such as, forexample, random access memory (RAM), a CD-ROM, a hard drive, a solidstate drive, a flash drive, a memory card, a DVD-ROM, a floppy disk, anoptical drive, and/or combinations thereof. It is to be understood thatwhile one or more memories 110 may be located in the same physicallocation as the first host system 102, the one or more memories 110 maybe located remotely from the first host system 102, and may communicatewith the one or more processor 108 via the network 106. Additionally,when more than one memory 110 is used, a first memory 110 may be locatedin the same physical location as the first host system 102, andadditional memories 110 may be located in a remote physical locationfrom the first host system 102. The physical location(s) of the one ormore memories 110 may be varied. Additionally, one or more memories 110may be implemented as a “cloud memory” (i.e., one or more memory 110 maybe partially or completely based on or accessed using the network 106).

The one or more input devices 112 may transmit data to the processors108, and may be implemented as a keyboard, a mouse, a touchscreen, acamera, a cellular phone, a tablet, a smart phone, a PDA, a microphone,a network adapter, and/or combinations thereof. The input devices 112may be located in the same physical location as the first host system102, or may be remotely located and/or partially or completelynetwork-based.

The one or more output devices 114 may transmit information from theprocessor 108 to a user, such that the information may be perceived bythe user. For example, the output devices 114 may be implemented as aserver, a computer monitor, a cell phone, a tablet, a speaker, awebsite, a PDA, a fax, a printer, a projector, a laptop monitor, and/orcombinations thereof. The output device 114 may be physically co-locatedwith the first host system 102, or may be located remotely from thefirst host system 102, and may be partially or completely network based(e.g., website). As used herein, the term “user” is not limited to ahuman, and may comprise a human, a computer, a host system, a smartphone, a tablet, and/or combinations thereof, for example.

The first host system 102 may directly communicate with the second hostsystem 126 and/or communicate via network 106. Generally, the first hostsystem 102 may include one or more processors 108 capable of executing afirst set of processor executable code and the second host system 126may include one or more processors 128 capable of executing a second setof processor executable code.

The second host system 126 may further comprise one or more memories 130capable of storing processor executable code, one or more input devices132, and one or more output devices 134. Each element of the second hostsystem 126 may be partially or completely network-based or cloud based,and not necessarily located in a single physical location.

The one or more processors 128 may be implemented as a single or aplurality of processors 128 working together to execute the logicdescribed herein. Exemplary embodiments of the one or more processors128 include a digital signal processor (DSP), a central processing unit(CPU), a field programmable gate array (FPGA), a microprocessor, amulti-core processor, and/or combinations thereof. The one or moreprocessors 128 may be capable of communicating with the one or morememories 130 via a path (e.g., data bus). The one or more processors 128may be capable of communicating with the input devices 132 and theoutput devices 134.

The one or more processors 128 may be further capable of interfacingand/or communicating with the one or more user terminals 104 via thenetwork 106. For example, the one or more processors 128 may be capableof communicating via the network 106 by exchanging signals (e.g.,digital, optical, and/or the like) via one or more physical or virtualports using a network protocol. It is to be understood that in certainembodiments using more than one processor 128, the one or moreprocessors 128 may be located remotely from one another, located in thesame location, or comprising a unitary multi-core processor (not shown).The one or more processors 128 may be capable of reading and/orexecuting processor executable code and/or of creating, manipulating,altering, and/or storing computer data structures into one or morememories 130.

The one or more memories 130 may be capable of storing processorexecutable code. Additionally, the one or more memories 130 may beimplemented as a conventional non-transient memory 130, such as, forexample, random access memory (RAM), a CD-ROM, a hard drive, a solidstate drive, a flash drive, a memory card, a DVD-ROM, a floppy disk, anoptical drive, and/or combinations thereof. It is to be understood thatwhile one or more memories 130 may be located in the same physicallocation as the second host system 126, the one or more memories 130 maybe located remotely from the second host system 126, and may communicatewith the one or more processor 128 via the network 106. Additionally,when more than one memory 130 is used, a first memory 130 may be locatedin the same physical location as the second host system 126, andadditional memories 130 may be located in a remote physical locationfrom the second host system 126. The physical location(s) of the one ormore memories 130 may be varied. Additionally, one or more memories 130may be implemented as a “cloud memory” (i.e., one or more memory 130 maybe partially or completely based on or accessed using the network 106).

The input devices 132 may transmit data to the processors 128, and maybe implemented as a keyboard, a mouse, a touchscreen, a camera, acellular phone, a tablet, a smart phone, a PDA, a microphone, a networkadapter, and/or combinations thereof. The input devices 132 may belocated in the same physical location as the second host system 126, ormay be remotely located and/or partially or completely network-based.

The output devices 134 may transmit information from the processors 128to a user, such that the information may be perceived by the user. Forexample, the output devices 134 may be implemented as a server, acomputer monitor, a cell phone, a tablet, a speaker, a website, a PDA, afax, a printer, a projector, a laptop monitor, and/or combinationsthereof. The output devices 134 may be physically co-located with thesecond host system 126, or may be located remotely from the second hostsystem 126, and may be partially or completely network based (e.g.,website).

The network 106 may permit bi-directional communication of informationand/or data between the first host system 102, the second host system126 and/or user terminals 104. The network 106 may interface with thefirst host system 102, the second host system 126, and the userterminals 104 in a variety of ways. For example, the network 106 mayinterface by optical and/or electronic interfaces, and/or may use aplurality of network topographies and/or protocols including, but notlimited to, Ethernet, TCP/IP, circuit switched paths, and/orcombinations thereof. For example, the network 106 may be implemented asthe World Wide Web (or Internet), a local area network (LAN), a widearea network (WAN), a metropolitan network, a wireless network, acellular network, a GSM-network, a CDMA network, a 3G network, a 4Gnetwork, a satellite network, a radio network, an optical network, acable network, a public switched telephone network, an Ethernet network,and/or combinations thereof. Additionally, the network 106 may use avariety of network protocols to permit bi-directional interface and/orcommunication of data and/or information between the first host system102, the second host system 126, and/or one or more user terminals 104.

Referring to FIGS. 1 and 2, the one or more memories 110 may storeprocessor executable code and/or information comprising a user database136, a contractor database 137, a first image database 138 and programlogic 139. The processor executable code may be stored as a datastructure, such as a database and/or a data table, for example.

The user database 136 may include information about customers engagingwith the first host system 102. For example, one or more customers mayaccess the first host system 102 through the one or more user terminals104. The first host system 102 may provide a roof request website to theuser terminal 104. The roof request website may be directed by the oneor more processors 108. The processor 108 may also direct the one ormore customers to a login/registration portion of the website.

In some embodiments, customers may register a user profile with thefirst host system 102. The user profile may be created and/or stored inthe user database 136 by the processor 108. For example, the customermay be prompted by the processor 108 to provide login credentials (e.g.,username and/or password). Login credentials may allow the processor 108to authenticate the customer against the user database 136. In thismanner, the first host system 102 may access the user profile in theuser database 136. The user profile may include information including,but not limited to, demographic information including, but not limitedto, name, age, address, billing account information, username, password,behavioral information, experience, gender, and/or the like.

If user authentication is successful, the user profile may be accessedby the processor 108. If the user authentication fails, the customer maybe returned to the login/registration page, where the customer may beprompted for a username and password again. Optionally, the processor108 may block a customer from entering a username and/or password aftera preset number of failed authentication attempts.

In some embodiments, customers may be prompted by the processor 108 toprovide information for a user profile without registration and/orauthentication using a username and/or password. The user profile may becreated and/or stored in the user database 136 by the processor 108. Forexample, the processor 108 may prompt the customer to providedemographic information (e.g., name, address, billing accountinformation, and the like), and store the information in a user profilefor the customer using a unique customer identification.

The contractor database 137 may comprise information about roofingcontractors within a given geographic location. Each roofing contractormay be associated with a contractor profile having informationincluding, but not limited to, roofing contractor business name, roofingcontractor owner name, address, experience level, age of contractorbusiness, review information, and the like. In some embodiments, thecontractor profile may include a geographical category assignmentidentification (ID). For example, the contractor profile may be assigneda numerical or alphabetical identification based on geographic locationof the business.

In some embodiments, the contractor profile may include reviewinformation. The review information may include positive and/or negativefeedback relating to each contractor. For example, the reviewinformation may be based on prior customer feedback of customers usingthe system 100. Review information may also be obtained from one or moreoutside databases (e.g., Yelp, Google review, and/or the like).

One or more contractors may provide a contractor profile via the firsthost system 102. For example, one or more contractors may access theroof review website of the first host system 102 via the user terminal104. The processor 108 may direct the contractor via the roof reviewwebsite to a login/registration portion of the website. If thecontractor has previously registered with the first host system 102, thecontractor may be prompted by the processor 108 to provide logincredentials (e.g., username and/or password), which may allow theprocessor 108 to authenticate the contractor against the contractordatabase 137.

If the contractor is not registered with the first host system 102, thefirst host system 102 may prompt the contractor to provide informationvia the one or more user terminals 104 to create a contractor profile.Alternatively, the contractor profiles may be provided in the contractordatabase 137 without information provided by each contractor. Forexample, a user of the first host system 102 may provide information viathe input device 112, the network 106, and/or the like, setting up acontractor profile without direct knowledge of the contractor.

The one or more memories 110 may include the image database 138. Theimage database 138 may store geo-referenced imagery. Such imagery may berepresented by a single pixel map, and/or by a series of tiled pixelmaps that when aggregated recreate the image pixel map. Imagery mayinclude nadir, ortho-rectified and/or oblique geo-referenced images. Theone or more processors 108 may provide the images via the image database138 to customers at the one or more user terminals 104. Customers, usingthe user terminals 104, may provide geographic location informationassociated with a roof request using the geo-referenced images providedby the one or more processors 108. For example, a customer may beprovided a geo-referenced image to validate the location of a structure(e.g., roof). In some embodiments, the customer may be able to selectthe structure (e.g., via a drag-and-drop user interface) to pinpoint alocation of the structure within the image. Selection of the structuremay provide location information (e.g., latitude/longitude coordinate,or and the like) of the structure to the first host system 102. Forsimplicity, the description will provide for a roof as the structure ofinterest. However, is should be apparent that other structures ofbuildings and/or landscapes may be used in accordance with the presentdisclosure.

The one or more memories 110 may further store processor executable codeand/or instructions, which may comprise the program logic 139. Theprogram logic 139 may comprise processor executable instructions and/orcode, which when executed by the processor 108, may cause the processor108 to generate, maintain, provide, and/or host a website providing oneor more roofing requests, for example. The program logic 139 may furthercause the processor 108 to collect user information and/or contractorinformation, create user profiles and/or contractor profiles, provideusers one or more geo-referenced images, and allow one or more users tovalidate a location of the roof as described herein.

The one or more processors 108 may generate, maintain, or provide one ormore roofing orders to the second host system 126. For example, the oneor more processors 108 may provide the one or more roofing orders to thesecond host system 126 by copying information obtained and/or stored inone or more memories 110. The roofing orders may include contractorprofile, user profile, user validated images, a unique ordering ID,and/or the like.

The one or more memories 130 of the second host system 126 may storeprocessor executable code and/or information comprising an orderdatabase 140, a second image database 141 and the program logic 142. Theprocessor executable code may be stored as a data structure, such as adatabase and/or a data table, for example.

The order database 140 may include information about a roofing orderplaced by a customer and copied by the first host system 102. Forexample, a roofing order may include contractor profile, user profile,user validated images, a unique ordering ID, and/or the like. The secondhost system 126 may access the order database 140 to provide a roofingreport as described in detail herein.

The one or more memories 130 of the second host system 126 may alsoinclude a second image database 141. The second image database 141 mayprovide additional nadir, ortho-rectified, and/or oblique geo-referencedand/or non-geo-referenced images for use in providing a roofing reportas described in detail herein. Alternatively, the image database 138 andthe image database 141 may be the same database.

The one or more memories 130 of the second host system 126 may furtherstore processor executable code and/or instructions, which may compriseprogram logic 142. The program logic 142 may comprise processorexecutable instructions and/or code, which when executed by the one ormore processors 128, may cause the one or more processors 128 togenerate, maintain, and/or provide a website or series of websites forproviding roofing reports. The program logic 142 may further cause theone or more processors 128 to allow one or more users to participate inexecuting a roofing report via the input devices 132.

Referring to FIG. 3, shown therein is an exemplary flow chart 144 ofprogram logic 139 for creating a roof report order which may be usedwith the first host system 102 according to the instant disclosure.Program logic 139 may comprise executable code, which when executed bythe one or more processors 108 may cause the one or more processors 108to execute one or more of the following:

The program logic 139 may provide for one or more user terminals 104interfacing with the processor 108 over the network 106 to provide oneor more roofing request website pages allowing customers to place aroofing request order. Each order is generally a request of the customerto provide estimated square footage of a specific roof. Additionally,each order may also include a request for contractor information and/ora bid request for estimate costs and associated features of materials,supplies, physical labor, and the like.

Generally, in a step 145, customers using one or more user terminals 104may provide user information to the first host system 102. The userinformation may then be used to prepare one or more user profiles foruse in preparing the roofing report. Additionally, program logic 139 maygenerate a unique identification number and/or alpha numeric characterto associate with the user profile.

The user information may include a location of the roof provided by thecustomer. For example, the customer may provide a residential and/orcommercial address of the roof. One or more processors 108 may directcustomers to validate the location of the roof using user terminals 104,in step 146. For example, processors 108 may provide one or more imagesvia the image database 138. The images may be geo-referenced imagesillustrating portions or all of the roof. The program logic 139 maycause the processor 108 to provide users the one or more geo-referencedimages, and allow the customer to validate the location of the roof. Forexample, the customer may be able to use a drag-and-drop elementprovided by the program logic 139 via user terminal 104 to select theroof within the one or more geo-referenced images. Selection of the roofwithin the one or more geo-referenced images may provide one or morevalidated images and a validated location of the roof. In someembodiments, the geographic location may include coordinates, andvalidation of the geographic location may be provided by a customer byaltering one or more coordinates of the geographic location. Customersmay alter the one or more coordinates by methods including, but notlimited to, manual manipulation, drag-and-drop elements, and the like.

It should be understood that validation of the geo-referenced images maybe provided by the second host system 126 via the one or more processors128 in lieu of, or in combination with host system 102. For example, thefirst host system 102 may direct customers to the second host system 126wherein the one or more processors 128 of the second host system 126provide geo-referenced images from image database 141 to the customerfor validation of one or more roof and/or roofing structures. As such,in some embodiments, only the second host system 126 providesgeo-referenced images in the image database 141.

The first host system 102 may determine contractor availability within aregion of interest about the validated location of the roof as shown instep 147. For example, program logic 139 may extract the validatedlocation and compare the validated location against location ofcontractors in a region of interest. The region of interest may bedetermined by the customer via user terminal and/or the region ofinterest may be a pre-programmed determination. For example, the regionof interest may be a five mile radius about the validated location.Contractor availability may include contractors having a contractorprofile within the contractor database 137. Contractors within thecontractor database 137 may be provided with a copy of the roofingreport as described herein.

The program logic 139 may direct the one or more processors 108 tocreate and/or store a roofing order for the customer as shown in step148. Additionally, the program logic 139 may direct one or moreprocessors to transfer the roofing order to the second host system 126.

FIG. 4 illustrates a flow chart 149 of an exemplary embodiment of theprogram logic 139 and/or 142 for processing a roof report order whichmay be used with the system 100 according to the instant disclosure. Theprogram logic 139 comprises processor executable code, that whenexecuted by the processor 108, may cause the processor 108 to executeone or more of the following:

The program logic 139 may include a step 150 wherein one or more userterminals 104 interfacing with the processor 108 over the network 106may be provided with one or more websites having a mechanism allowing acustomer to request a roof report. The customer may provide the requestto the first host system 102 using the one or more websites, in a step152. Prior to providing customer information, the customer may benotified that the first host system 102 may distribute any contactinformation provided by the customer to contractors provided within thefirst host system 102. The one or more processors 108 may provide thecustomer an option for agreeing to terms of service (e.g., distributionof their contact information), in a step 154.

In a step 156, the roof report request website may include queriesregarding customer information including, but not limited to, customername, address, address of the roof, billing information, and the like.The customer information may be provided by the one or more processors108 and stored in the one or more memories 110. For example, thecustomer information may be provided by processors 108 as a user profileand stored in the user database 136 of the one or more memories 110.

Customers may be able to select the desired roof, location, and/or thelike on the one or more websites provided by the processor 108 over thenetwork 106, in step 158. For example, the customer may use the one ormore user terminals 104 to provide a geographical location (e.g.,address, latitude/longitude coordinates, or the like), a geo-referencedimage, and/or an element within a geo-referenced image. Once thegeographical location of the roof is selected, the processor 108 mayprovide a verification web page or similar mechanism for customer reviewand/or approval of a proposed order, in a step 160. The first hostsystem 102 may receive the proposed order via the processor 108, storethe order and/or transfer the order to the second host system 126 forprocessing, in a step 162. The processor 108 may provide a confirmationwebpage or similar mechanism informing the customer of a successfulorder placement, in a step 164.

FIG. 5 illustrates a flow chart 169 of an exemplary embodiment of theprogram logic 139 and/or 142 for providing a roof report which may beused with the system 100 according to the instant disclosure. Generally,processing of the proposed order may be provided using the second hostsystem 126. The program logic 142 comprises processor executable code,that when executed by the processor 128, may cause the processor 128 toexecute one or more of the following:

The second host system 126 may receive the proposed order via the one ormore processors 108 of the first host system 102. Generally, thevalidity of the location of the roof provided by the customer may bedetermined, in a step 170. In a step 172, the second host system 126 maydetermine if the location of the roof provided by the customer exists.If the location is not found, the customer may be further contacted bythe second host system 126 and/or the first host system 102 requestingresubmission or additional information for the proposed order, in a step174. Additionally, in a step 176, the second host system 126 maydetermine if corresponding imagery within image database 141 exists forthe location provided by the customer. If there is no correspondingimagery, the customer may be further contacted by the second host system126 and/or the first host system 102 with a status message indicating nosuitable imagery of the roof currently exists, in a step 178.

The second host system 126 may further process and review the order, ina step 180. An exemplary series of steps for implementing step 180 isshown in a flow chart 188 illustrated in FIG. 6. For example, the one ormore processors 128 of the second host system 126 may receive theproposed order, in a step 190. The one or more processors 128 mayextract order related information and images. Generally, a user mayaccess a roof report website provided by the one or more processors 128to review and/or process the proposed order. For example, the user mayaccess the roof report website using the input devices 132 and theoutput devices 134 to review and/or process the proposed order.

In some embodiments, using the input devices 132 and/or the outputdevices 134, the user may provide additional details to the proposedorder regarding the roof including, but not limited to, identificationof areas of the roof (e.g., eaves, drip edges, ridges, and the like),pitch, distance, angle, and/or the like.

The footprint of the roof may be determined, in step 192. For example,the footprint of the roof may be determined using systems and methodsincluding, but not limited to, those described in U.S. PatentPublication No. 2010/0179787, U.S. Patent Publication No. 2010/0110074,U.S. Patent Publication No. 2010/0114537, U.S. Patent Publication No.2011/0187713, U.S. Pat. No. 8,078,436, and U.S. Ser. No. 12/090,692, allof which are incorporated by reference herein in their entirety.

In some embodiments, the one or more processors 128 may provide one ormore websites to the user for evaluation of multiple oblique images toprovide the footprint of the roof. For example, the user and/or theprocessors 128 may identify edges of the roof. Two-dimensional and/orthree-dimensional information regarding the edges (e.g., position,orientation, and/or length) may be obtained from the images. Using thetwo-dimensional and/or three-dimensional information (e.g., positionorientation, and/or length), line segments may be determined withmultiple line segments forming at least a portion of the footprint ofthe roof.

The footprint may provide a two-dimensional boundary and/or outline ofthe roof. In a step 194, a predominant pitch value for the roof may bedetermined. In some embodiments, a predominant pitch value may bedetermined using the footprint as a boundary of the roof. Thepredominant pitch may be a weighted average of individual pitch factorsfor two or more portions of the roof. FIG. 7 illustrates an exemplaryslope factor chart for determining pitch factors. For example, a firstportion of the roof (e.g., 60% of the roof) may be at a 6:12 pitch. The6:12 pitch corresponds to 1.1180 as the pitch factor). A second portionof the roof (e.g. 40% of the roof) may be at a 4:12 pitch. The 4:12pitch corresponds to 1.0541 as the pitch factor. Thus, the weightedvalue of the first portion of the roof having 6:12 pitch is:

(Pitch Factor)*(Percentage of roof)=First Weighted Value1.1180*0.6=0.6708  EQ. 1

The weighted value of the second portion of the roof having 4:12 pitchis:

(Pitch Factor)*(Percentage of roof)=Second Weighted Value1.0541*0.4=0.42164 EQ.2

The sum of 0.6708 and 0.42164 is 1.09244 as the total weighted pitchvalue. A total weighted pitch value of 1.09244 is closest to a pitchfactor of 1.0833 in the table in FIG. 7. This pitch factor correspondsto a 5:12 pitch. As such, the predominant pitch in this scenario wouldbe 5:12. Using the predominant pitch and outer dimensions provided bythe footprint, an estimated area of the roof may be determined, in astep 196.

In some embodiments, the user may review and reevaluate the estimatedarea of the roof obtained. For example, using the system and methodsdescribed herein, the user may review the steps for obtaining thefootprint, the predominant pitch value, and/or estimated area.Additionally, the user may provide for a review report. The reviewreport may comprise feedback to the one or more processors 128 regardingerrors, concerns, and/or the like.

Referring to FIGS. 1, 6 and 8A-8B, in a step 184 and 186, a customerand/or contractor may receive a roof report 200. FIGS. 8A-8B illustratean exemplary embodiment of a roof report 200 provided in accordance withthe present disclosure. The program logic 139 may provide for one ormore user terminals 104 interfacing with the processor 108 over thenetwork 106 to provide one or more roofing report website pages allowingcustomers and/or contractors to view the roof report 200.

Generally, roofing reports within the industry are detailed with datasets regarding pitch, total area, eave length, hip ridge length, valleylength, number of box vents, and the like. The roof report 200 may bestreamlined to generally include data sets such as customer information202, roofing 204, estimated area detail 206, and contractor(s) 208. Thecustomer information data set 202 may include the customer name,customer contact information, and the like. The roofing data set 204 mayinclude one or more nadir images of the roof and one or more obliqueimages of the roof. The estimated area detail 206 may provide the totalestimated roof area as determined using the second host system 126described herein. The contractor data set 208 may include one or morecontractor names and associated contractor contact information for theone or more contractor names.

The roof report 200 may be distributed using the first host system 102and/or the second host system 126 to the one or more user terminals 104.For example, the roof report 200 may be distributed using the first hostsystem 102 to a contractor at a first user terminal 104 and the roofreport 200 may be distributed using the first host system 102 to thecustomer at a second user terminal 104.

In some embodiments, the first host system 102 and/or the second hostsystem 126 may distribute the roof report 200 to one or more recipientsin addition to, or in lieu of, the customer. For example, the roofreport 200 may be distributed to recipients including, but not limitedto, roof material suppliers (e.g., small roofing companies, Lowes, HomeDepot, and the like), insurance companies, real estate agencies, homeservices and/or cleaning companies, insulation companies, auditingcompanies, and/or contractors. Contractors and/or suppliers may beassociated with residential and/or commercial building elements and/orservices including, but not limited to, fireplaces, pool sales, fencing,lawn maintenance, gardening, pavement resurfacing, decking, sunrooms,roofing, guttering, custom Christmas light designs, siding, windows,doors, garage doors, and the like.

In some embodiments, additional data sets may be included within theroof report 200. For example, data sets may include, but are not limitedto, weather data, insurance/valuation data, census data, school districtdata, real estate data, and the like.

Weather data sets may be provided by one or more databases storinginformation associated with weather (e.g., inclement weather). A weatherdata set within the roof report 200 may include, but is not limited to,hail history information and/or location, wind data, severe thunderstormdata, hurricane data, tornado data, and/or the like. In someembodiments, the one or more databases providing weather information maybe hosted by a separate system (e.g., LiveHailMap.com) and provideinformation to the first host system 102 and/or the second host system126. The weather data set may be included within the roof report 200 andprovided to the customer and/or other parties. In some embodiments,weather data sets may be provided within a report as described hereinwithout the addition of roof related information (e.g., roofing data set204).

Insurance and/or valuation data sets may be provided by one or moredatabases storing information associated with housing insurance and/orvaluation. An insurance and/or valuation data set may include, but isnot limited to, insured value of the home, insurance premium amount,type of residence (e.g., multi-family, single family), number of floors(e.g., multi-floor, single-floor), building type, and/or the like. Insome embodiments, the one or more databases may be hosted by a separatesystem (e.g., Bluebook, MSB, 360Value) and provide information to thefirst host system 102 and/or the second host system 126.

The insurance and/or valuation data set may be included within the roofreport 200 and provided to the customer and/or other parties. Forexample, during underwriting of a home, an insurance company may be ableto request the roof report 200 on a home that is recently purchased. Theinformation within the roof report 200 may be integrated with insuranceinformation provided by an insurance database and used to form a quotereport. The quote report may be sent to the customer and/or insurancecompany. Alternatively, the roof report 200 may be solely sent to theinsurance company with the insurance company using the information toformulate a quote.

In another example, the roof report 200 may be used in an insuranceclaim. In the case of a catastrophe of a customer, one or more databasesmay be used to provide an insurance dataset with claim information inthe roof report 200. For example, an insurance database having a policyin force (PIF) and a weather database may be used to correlateinformation regarding an insurance claim for a particular roof. Thisinformation may be provided within the roof report 200.

Real estate and/or census data sets may also be including within theroof report. The real estate and/or census data sets may be provided byone or more databases having detailed information of a home. Forexample, a real estate data set may include, but is not limited to, thehomeowner's name, the purchase price of the home, number of times thehome has been on the market, the number of days the home has been on themarket, the lot size, and/or the like. The census data set may includeinformation concerning the number of residents within the home. In someembodiments, the one or more databases may be hosted by a separatesystem (e.g., Core Logic) and provide information to the first hostsystem 102 and/or the second host system 126 to provide data sets asdescribed herein. The real estate data set may be included within theroof report 200 and provided to the customer and/or other parties.

The roof reports 200 may include roofing data as described herein;however, system 100 may be used to provide other information to acustomer and/or other party without roof related information (e.g.,roofing data set 204). For example, in a real estate transaction, one ormore databases in host system 102 and/or host system 126 may includerecent home sales over time in one or more geographic areas. Thefootprint of each home and home valuation may be provided in one or moredatabases within host system 102 and/or host system 126. Using thesystems and methods described herein, a customer (e.g., homeowner) mayrequest a report determining approximate sales price of a home using thefootprint and/or valuation versus comparables within the geographicarea. The report may provide an approximate sale price of the home. Insome embodiments, demographics of the homeowners may be used and storedin one or more databases. The demographic information may be used forpotential advertising and/or comparables within the geographic area.

In another example, using systems and methods as described herein, areport may be provided for housecleaning and/or home services area(e.g., fireplace cleaning, pool sales, fencing, lawnmaintenance/gardening, pavement resurfacing, decking, sunrooms, roofing,guttering, custom Christmas light designs, siding, windows, doors,garage doors, and the like). For example, using a footprint of a home,number of stories within a home, and the like, a determination ofaverage square footage within a home may be determined. This informationmay be used to formulate a price quote for cleaning services.

Other services related to roofing may be provided within the roof report200. For example, using the square footage of the roofing footprint, aprice quote may be generated on the cost of insulation for the roof(e.g., energy efficiency, insulation replacement, and the like).Additionally, audits may be performed using information within one ormore databases. For example, using the roofing area of a home,historically paid insurance claims for comparables, and validation ofpayment for a specific claim for the home, a comparison may be made todetermine whether the service payment for the specific claim was withina certain threshold. Auditing, it should be understood, may be appliedto other areas as described herein as well.

Although the terms “home” and “house” are used herein, it should benoted that the systems and methods in the present disclosure may beapplied to any residential and/or commercial building or structure.

From the above description, it is clear that the inventive concept(s)disclosed herein is well adapted to carry out the objects and to attainthe advantages mentioned herein as well as those inherent in theinventive concept(s) disclosed herein. While presently preferredembodiments of the inventive concept(s) disclosed herein have beendescribed for purposed of this disclosure, it will be understood thatnumerous changes may be made which will readily suggest themselves tothose skilled in the art and which are accomplished within the scope andspirit of the inventive concept(s) disclosed herein and defined by theappended claims.

What is claimed is:
 1. One or more non-transitory computer readablemedium storing a set of computer executable instructions for running onone or more computer systems that when executed cause the one or morecomputer systems to: receive an order for a roof report, the orderincluding a geographic location of a roof; provide one or more imageshowing the roof; receive identification of one or more features of theroof; determine a footprint and a predominant pitch of the roof byanalyzing one or more image showing the roof and one or more of theidentified features of the roof; determine an estimated roofing area ofthe roof based on the predominant pitch and the footprint of the roof;and generate a roof report for determination of an amount of materialsneeded for a construction project, wherein the roof report includes atleast one image showing the roof and the estimated roofing area of theroof.
 2. The one or more non-transitory computer readable medium storinga set of computer executable instructions for running on one or morecomputer systems of claim 1, wherein the one or more identified featuresof the roof comprise one or more of the following: an eave, an edge, aridge, and an angle.
 3. The one or more non-transitory computer readablemedium storing a set of computer executable instructions for running onone or more computer systems of claim 1, wherein the roof reportincludes one or more ortho images of the roof, one or more obliqueimages of the roof, the estimated roofing area and contact informationof one or more contractor within a region of interest of the geographiclocation of the roof.
 4. The one or more non-transitory computerreadable medium storing a set of computer executable instructions forrunning on one or more computer systems of claim 1, that when executedfurther cause the one or more computer systems to provide the roofreport to one or more contractors, the contractor located within aregion of interest of the geographic location of the roof.
 5. The one ormore non-transitory computer readable medium storing a set of computerexecutable instructions for running on one or more computer systems ofclaim 1, wherein the estimated roofing area of the roof is reported as anumber of squares of roofing material.
 6. A roofing estimate method,comprising: receiving, by at least one computer processor from a uservia a user terminal, an order for a roof report, the order including ageographic location of a roof; providing to the user, with the computerprocessor, imagery of the roof based on the geographic location of theroof; receiving, by the at least one computer processor from the uservia the user terminal, identification of features of the roof;determining and providing, with the computer processor, an estimatedroofing area based at least on a predominant pitch and a footprint ofthe roof by analyzing one or more image showing the roof, the footprintof the roof determined at least in part using at least one image of theroof and the identified features of the roof; and generating, with thecomputer processor, a roof report for determination of an amount ofmaterials needed for a construction project, wherein the roof reportincludes at least one image showing the roof and the estimated roofingarea of the roof.
 7. The roofing estimate method of claim 6, wherein theone or more identified features of the roof comprise one or more of thefollowing: an eave, an edge, a ridge, and an angle.
 8. The roofingestimate method of claim 6, wherein the roof report includes one or moreortho images of the roof, one or more oblique images of the roof, theestimated roofing area and contact information of one or more contractorwithin a region of interest of the geographic location of the roof. 9.The roofing estimate method of claim 6, further comprising providing theroof report to one or more contractors, the contractor located within aregion of interest of the geographic location of the roof.
 10. Theroofing estimate method of claim 6, wherein the estimated roofing areaof the roof is reported as a number of squares of roofing material.